package com.laowang.common.utils;


import com.laowang.project.system.domain.vo.Point;

/**
 * 获取两个地图上坐标的距离
 */
public class GetDistance {


  public static double getDistance(Point start, Point end) {

    double lon1 = (Math.PI / 180) * start.getLongitude();
    double lon2 = (Math.PI / 180) * end.getLongitude();
    double lat1 = (Math.PI / 180) * start.getLatitude();
    double lat2 = (Math.PI / 180) * end.getLatitude();

    // 地球半径
    double R = 6371;
    double d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R;
    //转换成千米（根据自己需求）
    return d * 1000;
  }

  public static void main(String[] args) {
    double latitude = 32.075986;// longitude
    double longitude = 112.132458;// latitude
    Point point = new Point(longitude, latitude);

    double latitude1 = 32.075796;// longitude
    double longitude1 = 112.133157;// latitude
    Point point1 = new Point(longitude1, latitude1);

    double distance = GetDistance.getDistance(point, point1);
    System.out.println(distance);
  }
}
